package com.cskaoyan.javase.oop1._12static._4notice;

/**
 * 1.一个类中，静态方法无法直接调用非静态的方法和属性，也不能使用this，super关键字（super后面会讲）
 * 经典错误：Non-static field/method xxx cannot be referenced from a static context
 * 原因：静态方法调用的时候，完全有可能没有对象，没有对象普通成员就无法访问。
 * 普通成员方法当中，是可以访问静态成员的。
 *
 * 2.只存在静态成员变量，不存在"静态局部变量"，包括静态方法中也没有"静态局部变量"。
 * 局部变量，已经被方法限制了作用域，不能用static修饰它！
 *
 * 3.普遍来说，访问静态成员，都建议加上类名去访问，提升代码可读性。
 *  严厉禁止使用对象访问静态成员的做法！
 *
 * @since 11:24
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        A a = new A();
        // System.out.println(a.num);
    }
}

class A {
    int age;
    static int num;

    public static void test() {
        // Non-static field 'age' cannot be referenced from a static context
        // System.out.println(age);
        int a = 100;
    }
}
